fix(frontend): prevent session polling from stopping permanently after backend errors#1692
Merged
markturansky merged 2 commits intoJun 15, 2026
Conversation
…r backend errors When the backend restarts during session creation, useSession's refetchInterval callback receives undefined data (query in error state). Without an early return, the phase-based logic falls through to `return false`, permanently stopping polling. The session UI gets stuck on "Starting Session" and never recovers. Add early return `if (\!session) return 2000` to keep polling every 2s when data is unavailable, allowing the UI to recover once the backend is reachable again. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
✅ Deploy Preview for cheerful-kitten-f556a0 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds a two-line early return in ChangesSession undefined guard
🚥 Pre-merge checks | ✅ 7 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (7 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
useSession'srefetchIntervalcallback receivesundefineddata (query in error state after retries exhausted). The phase-based polling logic falls through toreturn false, permanently stopping polling — the UI gets stuck on "Starting Session" forever.if (\!session) return 2000;early return to keep polling every 2s when data is unavailable, allowing automatic recovery once the backend is reachable.Root Cause
refetchIntervalreadsquery.state.datawhich isundefinedwhen the query is in error state. The existing logic only checked phase values (Running,Pending, etc.), so when phase wasundefined, the function fell through toreturn false— permanently disabling polling.Evidence
Backend logs showed ZERO session detail requests after the initial failures — only pod-events requests were reaching the backend. The
SessionStartingEventscomponent polls pod-events unconditionally (not gated by React Query'srefetchInterval), which is why those continued whileuseSessionpolling stopped.Test plan
npx tsc --noEmit)npm run build)🤖 Generated with Claude Code
Summary by CodeRabbit
Bug Fixes